package cn.javass.dp.factorymethod.example1;

/**
 * 提供给客户端使用的实现方式
 * 这里就是工厂
 */
public class ExportOperate  {

    public boolean export(int type, String data) {
        System.out.println("1、进行数据校验");
        System.out.println("2、进行数据的封装");

        //客户端只使用接口，而不去创建对象
        ExportFileApi api = null;

        //设计存在问题1：使用Api就必须初始化它
        //type 初始化我需要到处的数据类型

        //设计存在问题3：不便于扩展 需要修改实现类
        //违反了 程序开闭原则  对新增开放 对修改闭合  修改新增功能---X
        if (type == 1) {

            api = new ExportTextFile();

        } else if (type == 2) {

            api = new ExportDB();
        }

        return api.export(data);
    }

}
